// 给文件名字后缀加上他的birthTime

//同以目录下的文件更名：
const fs = require("fs");
const path = require("path");
const os = require("os");
const { addAbortSignal } = require("stream");
const { start } = require("repl");
// 包含当前文件夹所有内容的数组
let allFiles = fs.readdirSync(__dirname);
// 不包含文件夹的文件数组
let allFiles2 = allFiles.filter(item => {
    return !my_isFold(item)
})
// console.log(allFiles2,'222');
// console.log(allFiles,'11');
// 更名操作
function my_rename(oldName, newName) {
    fs.rename(oldName, newName, function (err) {
        if (err) {
            throw err;
        }

        // console.log("rename is done!");
    });
}

// 获取文件的大小名字类型信息
/* 1>访问时间（access time 简写为atime）
2>修改时间（modify time 简写为mtime）
3>状态修改时间(change time 简写为ctime) */
function get_fileMsg(file) {
    let msg = fs.statSync(file)
    let index = file.lastIndexOf('.')
    let suffix = file.slice(index + 1)
    let temp = msg.size / 1024 / 1024 + 'mb'
    let index2 = temp.indexOf('.')
    temp = temp.slice(0, index2 + 3) + 'mb'
    // console.log('get', msg);
    return {
        name: file,
        size: temp,
        type: suffix,
        /* modifyTime: msg.mtime,
        birthTime:msg.birthtime */
    }
}

// 获取文件的创建日期信息 2021-07-26
function getFileBirthtime(file) {
    let msg = fs.statSync(file)
    let time = msg.birthtime
    time = renderTime(time)
    let index = time.indexOf(' ')
    time = time.slice(0, index)
    return time
}

// 别人写的代码，很鸡儿好用
function renderTime(date) {
    var dates = new Date(date).toJSON();
    return new Date(+new Date(dates) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/,
        '')
}


// 判断是否文件夹
function my_isFold(fileOrFoldName) {
    return fs.lstatSync(fileOrFoldName).isDirectory()
}

// 给这个文件夹里面所有文件加上日期后缀名字
function renameAddDate() {
    allFiles2.forEach(item => {
        let ind = item.lastIndexOf('.')
        let backName = item.slice(0, ind)
        // 包含.
        let suffix = item.slice(ind)
        my_rename(item,backName+' '+getFileBirthtime(item)+suffix)
    })
    console.log('时间后缀添加成功！');
}
// console.log(getFileBirthtime('script_批量改b站下载的视频的名字.js'));
renameAddDate()